Nowadays, vehicles have more and more onboard devices, which make vehicles more comfortable and easier to operate. The onboard devices generally include two kinds of devices, i.e., sensors and controllers. Sensors are used for monitoring both inside and outside environment of the vehicle, such as speedometer, fuel meter, radar, GPS devices, etc. Controllers may be operated by drivers and/or passengers, to control vehicle equipment, such as, air-conditioner, power window, seat heater, camera, audio and video players, etc. It is expected more and more onboard devices (e.g., fingerprint sensors, humidity sensors) will be embedded into the vehicles in the future.
However, various onboard devices usually work independently because those devices are usually provided by different manufacturers, and thus they may have different drivers and different communication formats specified by corresponding drivers. Thus, at present, to access or control the onboard devices by the applications, it is necessary for the applications to know details of them, including their drivers, APIs, data exchange formats, etc. Further, the application developers need to learn all technical details of a large number of onboard devices in order to access them correctly by using the applications, and the applications should be bound to specific devices. The applications may not work if some of these devices are upgraded or replaced. Moreover, an application may not be installed in different vehicles if they do not have the same onboard devices equipped.
In view of the above, there is a need for a solution which enables the applications to access onboard devices uniformly, even those onboard devices are made by different manufacturers and each has its specific device driver.